﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

using Gra.Seguros.Servicio.Bl;
using Gra.Seguros.Servicio.Be;
using Gra.Seguros.Servicio.Ws.Be;

using System.Net.Mail;
using Gra.Seguros.Servicio.Ws.Util;
using System.Configuration;

namespace Gra.Seguros.Servicio.Ws
{
    // NOTA: puede usar el comando "Rename" del menú "Refactorizar" para cambiar el nombre de clase "CotizacionSeguro" en el código, en svc y en el archivo de configuración a la vez.
    public class CotizacionSeguro : ICotizacionSeguro
    {
        public List<ClienteWs> listarClientes()
        {
            ClienteBl obj = new ClienteBl();
            List<ClienteBe> lst = new List<ClienteBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new ClienteWs
                         {
                             cCliente = c.cCliente,
                             dCliente = (c.dNomCliente != "") ? c.dNomCliente + " " + c.dApeRazonCliente + "-" + c.cCliente : c.dApeRazonCliente + "-" + c.cCliente
                         };
            return lQuery.ToList();
        }

        public List<EjecutivoWs> listarEjecutivos()
        {
            EjecutivoBl obj = new EjecutivoBl();
            List<EjecutivoBe> lst = new List<EjecutivoBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new EjecutivoWs
                         {
                             cEjecutivo = c.cEjecutivo,
                             dEjecutivo = c.dNombre + " " + c.dApellido + "-" + c.cEjecutivo
                         };
            return lQuery.ToList();
        }

        public List<EstadoCotizacionWs> listarEstados()
        {
            EstadoCotizacionBl obj = new EstadoCotizacionBl();
            List<EstadoCotizacionBe> lst = new List<EstadoCotizacionBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new EstadoCotizacionWs
                         {
                             cEstadoCot = c.cEstadoCot,
                             dEstadoCot = c.dEstadoCot
                         };
            return lQuery.ToList();
        }

        public List<TipoSeguroWs> listarTipoSeguros()
        {
            TipoSeguroBl obj = new TipoSeguroBl();
            List<TipoSeguroBe> lst = new List<TipoSeguroBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new TipoSeguroWs
                         {
                             cTipoSeguro = c.cTipoSeguro,
                             dTipoSeguro = c.dTipoSeguro
                         };
            return lQuery.ToList();
        }

        public List<RamoWs> listarRamos(string _cTipoSeguro)
        {
            RamoBl obj = new RamoBl();
            List<RamoBe> lst = new List<RamoBe>();
            lst = obj.listar(Convert.ToInt32(_cTipoSeguro));
            var lQuery = from c in lst
                         select new RamoWs
                         {
                             cRamo = c.cRamo,
                             dRamo = c.dRamo,
                             cTipoSeguro = c.oTipoSeguro.cTipoSeguro,
                             dTipoSeguro = c.oTipoSeguro.dTipoSeguro
                         };
            return lQuery.ToList();
        }

        public List<CotizacionWs> listarCotizacionxClientexRamoPendientes(string _cTipoDocumento,string _nNroDocumento, string _cRamo)
        {
            CotizacionBl obj = new CotizacionBl();
            List<CotizacionBe> lst = new List<CotizacionBe>();
            lst = obj.listarxClientexRamoPendiente(_cTipoDocumento,_nNroDocumento, Convert.ToInt32(_cRamo));
            var lQuery = from c in lst
                         select new CotizacionWs
                         {
                             cCotizacion=c.cCotizacion,
                             dCotizacion=c.dCotizacion,
                             cCliente=c.Cliente.cCliente                             
                         };
            return lQuery.ToList();
        }

        public List<CotizacionWs> listarCotizacion(string _cCotizacion, string _fCreacionInicio, string _fCreacionFin, string _cCliente, string _cTipoSeguro, string _cRamo, string _cEjecutivo, string _cEstadoCot)
        {
            CotizacionBl obj = new CotizacionBl();
            List<CotizacionBe> lst = new List<CotizacionBe>();
            lst = obj.listar(Convert.ToInt32(_cCotizacion), _fCreacionInicio, _fCreacionFin, Convert.ToInt32(_cCliente), Convert.ToInt32(_cTipoSeguro), Convert.ToInt32(_cRamo), Convert.ToInt32(_cEjecutivo), Convert.ToInt32(_cEstadoCot));
            var lQuery = from c in lst
                         select new CotizacionWs
                         {
                             cCotizacion = c.cCotizacion,
                             fCreacion = c.fCreacion,
                             cCliente = c.Cliente.cCliente,
                             dNombreCliente = (c.Cliente.dNomCliente != "") ? c.Cliente.dNomCliente + " " + c.Cliente.dApeRazonCliente : c.Cliente.dApeRazonCliente,
                             cEjecutivo = c.Ejecutivo.cEjecutivo,
                             dNombreEjecutivo = c.Ejecutivo.dNombre + " " + c.Ejecutivo.dApellido,
                             cRamo = c.Ramo.cRamo,
                             dRamo = c.Ramo.dRamo,
                             cEstadoCot = c.EstadoCotizacion.cEstadoCot,
                             dEstadoCot = c.EstadoCotizacion.dEstadoCot
                         };
            return lQuery.ToList();
        }

        public string anularCotizacion(string _str_Cotizacion)
        {
            CotizacionBl obj = new CotizacionBl();
            _str_Cotizacion = _str_Cotizacion.Replace("$", "<");
            _str_Cotizacion = _str_Cotizacion.Replace("@", ">");
            _str_Cotizacion = _str_Cotizacion.Replace("-", "/");
            return obj.anular(_str_Cotizacion);
        }

        public List<TipoDocumentoWs> listarTipoDocumento()
        {
            TipoDocumentoBl obj = new TipoDocumentoBl();
            List<TipoDocumentoBe> lst = new List<TipoDocumentoBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new TipoDocumentoWs
                         {
                             cTipoDocumento = c.cTipoDocumento + "$" + c.TipoPersona.cTipoPersona.ToString(),
                             dTipoDocumento = c.dTipoDocumento
                         };
            return lQuery.ToList();
        }

        public List<DepartamentoWs> listarDepartamento()
        {
            DepartamentoBl obj = new DepartamentoBl();
            List<DepartamentoBe> lst = new List<DepartamentoBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new DepartamentoWs
                         {
                             cDepartamento = c.cDepartamento,
                             dDepartamento = c.dDepartamento
                         };
            return lQuery.ToList();
        }

        public List<GeneroWs> listarGenero()
        {
            GeneroBl obj = new GeneroBl();
            List<GeneroBe> lst = new List<GeneroBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new GeneroWs
                         {
                             cGenero = c.cGenero,
                             dGenero = c.dGenero
                         };
            return lQuery.ToList();
        }

        public List<GrupoSectorEconomicoWs> listarGrupoSectorEconomico()
        {
            GrupoSectorEconomicoBl obj = new GrupoSectorEconomicoBl();
            List<GrupoSectorEconomicoBe> lst = new List<GrupoSectorEconomicoBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new GrupoSectorEconomicoWs
                         {
                             cGrupoSectorEconomico = c.cGrupoSectorEconomico,
                             dGrupoSectorEconomico = c.dGrupoSectorEconomico
                         };
            return lQuery.ToList();
        }

        public List<SectorEconomicoWs> listarSectorEconomico(string _cGrupoEconomico)
        {
            SectorEconomicoBl obj = new SectorEconomicoBl();
            List<SectorEconomicoBe> lst = new List<SectorEconomicoBe>();
            lst = obj.listar(Convert.ToInt32(_cGrupoEconomico));
            var lQuery = from c in lst
                         select new SectorEconomicoWs
                         {
                             cSectorEconomico = c.cSectorEconomico,
                             dSectorEconomico = c.dSectorEconomico
                         };
            return lQuery.ToList();
        }

        public List<PersonaNaturalWs> listarPersonaNatural(string _cTipoDocumento, string _nNroDocumento)
        {
            ClienteBl obj = new ClienteBl();
            List<ClienteBe> lst = new List<ClienteBe>();
            lst = obj.listarPersonaNatural(_cTipoDocumento, _nNroDocumento);
            var lQuery = from c in lst
                         select new PersonaNaturalWs
                         {
                             dNomCliente = c.dNomCliente,
                             dApeRazonCliente = c.dApeRazonCliente,
                             dTelefDomicilio = c.dTelefDomicilio,
                             dCorreoElectronico = c.dCorreoElectronico,
                             cDepartamento = c.Departamento.cDepartamento,
                             cGenero = c.Genero.cGenero
                         };
            return lQuery.ToList();
        }

        public List<PersonaJuridicaWs> listarPersonaJuridica(string _cTipoDocumento, string _nNroDocumento)
        {
            ClienteBl obj = new ClienteBl();
            List<ClienteBe> lst = new List<ClienteBe>();
            lst = obj.listarPersonaJuridica(_cTipoDocumento, _nNroDocumento);
            var lQuery = from c in lst
                         select new PersonaJuridicaWs
                         {
                             dApeRazonCliente = c.dApeRazonCliente,
                             dTelefDomicilio = c.dTelefDomicilio,
                             dCorreoElectronico = c.dCorreoElectronico,
                             cGrupoSectorEconomico = c.GrupoSectorEconomico.cGrupoSectorEconomico,
                             cSectorEconomico = c.SectorEconomico.cSectorEconomico
                         };
            return lQuery.ToList();
        }

        public List<EstadoCivilWs> listarEstadoCivil()
        {
            EstadoCivilBl obj = new EstadoCivilBl();
            List<EstadoCivilBe> lst = new List<EstadoCivilBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new EstadoCivilWs
                         {
                             cEstadoCivil = c.cEstadoCivil,
                             dEstadoCivil = c.dEstadoCivil
                         };
            return lQuery.ToList();
        }

        public List<LugarCoberturaWs> listarLugarCobertura()
        {
            LugarCoberturaBl obj = new LugarCoberturaBl();
            List<LugarCoberturaBe> lst = new List<LugarCoberturaBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new LugarCoberturaWs
                         {
                             cLugar = c.cLugar,
                             dLugar = c.dLugar
                         };
            return lQuery.ToList();
        }

        public List<MarcaWs> listarMarca()
        {
            MarcaBl obj = new MarcaBl();
            List<MarcaBe> lst = new List<MarcaBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new MarcaWs
                         {
                             cMarca = c.cMarca,
                             dMarca = c.dMarca
                         };
            return lQuery.ToList();
        }

        public List<ModeloWs> listarModelo(string _cMarca)
        {
            ModeloBl obj = new ModeloBl();
            List<ModeloBe> lst = new List<ModeloBe>();
            lst = obj.listar(Convert.ToInt32(_cMarca));
            var lQuery = from c in lst
                         select new ModeloWs
                         {
                             cModelo = c.cModelo,
                             dModelo = c.dModelo
                         };
            return lQuery.ToList();
        }

        public List<ModeloPeriodoWs> listarModeloPeriodo(string _cModelo)
        {
            ModeloPeriodoBl obj = new ModeloPeriodoBl();
            List<ModeloPeriodoBe> lst = new List<ModeloPeriodoBe>();
            lst = obj.listar(Convert.ToInt32(_cModelo));
            var lQuery = from c in lst
                         select new ModeloPeriodoWs
                         {
                             cModeloPeriodo = c.cModeloPeriodo,
                             nAnio = c.nAnio
                         };
            return lQuery.ToList();
        }

        public List<TipoUsoWs> listarTipoUso()
        {
            TipoUsoBl obj = new TipoUsoBl();
            List<TipoUsoBe> lst = new List<TipoUsoBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new TipoUsoWs
                         {
                             cTipoUso = c.cTipoUso,
                             dTipoUso = c.dTipoUso
                         };
            return lQuery.ToList();
        }

        public string registrarCotizacionPersonalPersonaNatural(CotizacionPersonalVidaWs _CotizacionPersonalVidaWs)
        {
            string _msgReg = "";
            CotizacionPersonalBl obj = new CotizacionPersonalBl();
            CotizacionBe _objCab = new CotizacionBe();
            _objCab.Cliente = new ClienteBe();
            _objCab.Cliente.TipoDocumento = new TipoDocumentoBe();
            _objCab.Cliente.TipoDocumento.cTipoDocumento = _CotizacionPersonalVidaWs.cTipoDocumento;
            _objCab.Cliente.nNroDocumento = _CotizacionPersonalVidaWs.nNroDocumento;
            _objCab.Cliente.Genero = new GeneroBe();
            _objCab.Cliente.Genero.cGenero = _CotizacionPersonalVidaWs.cGenero;
            _objCab.Cliente.EstadoCivil = new EstadoCivilBe();
            _objCab.Cliente.EstadoCivil.cEstadoCivil = _CotizacionPersonalVidaWs.cEstadoCivil;
            _objCab.Cliente.dNomCliente = _CotizacionPersonalVidaWs.dNomCliente;
            _objCab.Cliente.dApeRazonCliente = _CotizacionPersonalVidaWs.dApeRazonCliente;
            _objCab.Cliente.dTelefDomicilio = _CotizacionPersonalVidaWs.dTelefDomicilio;
            _objCab.Cliente.dCorreoElectronico = _CotizacionPersonalVidaWs.dCorreoElectronico;
            _objCab.Cliente.Departamento = new DepartamentoBe();
            _objCab.Cliente.Departamento.cDepartamento = _CotizacionPersonalVidaWs.cDepartamento;
            _objCab.Ramo = new RamoBe();
            _objCab.Ramo.cRamo = _CotizacionPersonalVidaWs.cRamo;
            _objCab.Ejecutivo = new EjecutivoBe();
            _objCab.Ejecutivo.cEjecutivo = _CotizacionPersonalVidaWs.cEjecutivo;

            CotizacionPersonalBe _objDet = new CotizacionPersonalBe();
            _objDet.sTieneHijos = _CotizacionPersonalVidaWs.sTieneHijos;
            _objDet.sCubreFamilia = _CotizacionPersonalVidaWs.sCubreFamilia;
            _objDet.nEdad = _CotizacionPersonalVidaWs.nEdad;
            _objDet.EstadoCivil = new EstadoCivilBe();
            _objDet.EstadoCivil.cEstadoCivil = _CotizacionPersonalVidaWs.cEstadoCivil;
            _objDet.LugarCobertura = new LugarCoberturaBe();
            _objDet.LugarCobertura.cLugar = _CotizacionPersonalVidaWs.cLugar;

            _msgReg = obj.registrarCotizacionPersonalPersonaNatural(_objCab, _objDet);
            return _msgReg;
        }

        public string registrarCotizacionVehicularPersonaNatural(CotizacionPersonalVehicularWs _CotizacionPersonalVehicularWs)
        {
            string _msgReg = "";
            CotizacionAutoBl obj = new CotizacionAutoBl();
            CotizacionBe _objCab = new CotizacionBe();
            _objCab.Cliente = new ClienteBe();
            _objCab.Cliente.TipoDocumento = new TipoDocumentoBe();
            _objCab.Cliente.TipoDocumento.cTipoDocumento = _CotizacionPersonalVehicularWs.cTipoDocumento;
            _objCab.Cliente.nNroDocumento = _CotizacionPersonalVehicularWs.nNroDocumento;
            _objCab.Cliente.Genero = new GeneroBe();
            _objCab.Cliente.Genero.cGenero = _CotizacionPersonalVehicularWs.cGenero;
            _objCab.Cliente.EstadoCivil = new EstadoCivilBe();
            _objCab.Cliente.EstadoCivil.cEstadoCivil = _CotizacionPersonalVehicularWs.cEstadoCivil;
            _objCab.Cliente.dNomCliente = _CotizacionPersonalVehicularWs.dNomCliente;
            _objCab.Cliente.dApeRazonCliente = _CotizacionPersonalVehicularWs.dApeRazonCliente;
            _objCab.Cliente.dTelefDomicilio = _CotizacionPersonalVehicularWs.dTelefDomicilio;
            _objCab.Cliente.dCorreoElectronico = _CotizacionPersonalVehicularWs.dCorreoElectronico;
            _objCab.Cliente.Departamento = new DepartamentoBe();
            _objCab.Cliente.Departamento.cDepartamento = _CotizacionPersonalVehicularWs.cDepartamento;
            _objCab.Ramo = new RamoBe();
            _objCab.Ramo.cRamo = _CotizacionPersonalVehicularWs.cRamo;
            _objCab.Ejecutivo = new EjecutivoBe();
            _objCab.Ejecutivo.cEjecutivo = _CotizacionPersonalVehicularWs.cEjecutivo;

            CotizacionAutoBe _objDet = new CotizacionAutoBe();
            _objDet.dPlaca = _CotizacionPersonalVehicularWs.dPlaca;
            _objDet.sTimonCambiado = _CotizacionPersonalVehicularWs.sTimonCambiado;
            _objDet.sConvertidoGas = _CotizacionPersonalVehicularWs.sConvertidoGas;
            _objDet.sRegistroLocal = _CotizacionPersonalVehicularWs.sRegistroLocal;
            _objDet.TipoUso = new TipoUsoBe();
            _objDet.TipoUso.cTipoUso = _CotizacionPersonalVehicularWs.cTipoUso;
            _objDet.ModeloPeriodo = new ModeloPeriodoBe();
            _objDet.ModeloPeriodo.cModeloPeriodo = _CotizacionPersonalVehicularWs.cModeloPeriodo;
            _objDet.nValorComercial = _CotizacionPersonalVehicularWs.nValorComercial;
            _objDet.LugarCobertura = new LugarCoberturaBe();
            _objDet.LugarCobertura.cLugar = _CotizacionPersonalVehicularWs.cLugar;

            _msgReg = obj.registrarCotizacionVehicularPersonaNatural(_objCab, _objDet);
            return _msgReg;
        }

        public string registrarCotizacionVehicularPersonaJuridica(CotizacionJuridicaVehicularWs _CotizacionJuridicaVehicularWs)
        {
            string _msgReg = "";
            CotizacionAutoBl obj = new CotizacionAutoBl();
            CotizacionBe _objCab = new CotizacionBe();
            _objCab.Cliente = new ClienteBe();
            _objCab.Cliente.TipoDocumento = new TipoDocumentoBe();
            _objCab.Cliente.TipoDocumento.cTipoDocumento = _CotizacionJuridicaVehicularWs.cTipoDocumento;
            _objCab.Cliente.nNroDocumento = _CotizacionJuridicaVehicularWs.nNroDocumento;
            _objCab.Cliente.dApeRazonCliente = _CotizacionJuridicaVehicularWs.dApeRazonCliente;
            _objCab.Cliente.dTelefDomicilio = _CotizacionJuridicaVehicularWs.dTelefDomicilio;
            _objCab.Cliente.dCorreoElectronico = _CotizacionJuridicaVehicularWs.dCorreoElectronico;
            _objCab.Cliente.GrupoSectorEconomico = new GrupoSectorEconomicoBe();
            _objCab.Cliente.GrupoSectorEconomico.cGrupoSectorEconomico = _CotizacionJuridicaVehicularWs.cGrupoSectorEconomico;
            _objCab.Cliente.SectorEconomico = new SectorEconomicoBe();
            _objCab.Cliente.SectorEconomico.cSectorEconomico = _CotizacionJuridicaVehicularWs.cSectorEconomico;
            _objCab.Ramo = new RamoBe();
            _objCab.Ramo.cRamo = _CotizacionJuridicaVehicularWs.cRamo;
            _objCab.Ejecutivo = new EjecutivoBe();
            _objCab.Ejecutivo.cEjecutivo = _CotizacionJuridicaVehicularWs.cEjecutivo;

            CotizacionAutoBe _objDet = new CotizacionAutoBe();
            _objDet.dPlaca = _CotizacionJuridicaVehicularWs.dPlaca;
            _objDet.sTimonCambiado = _CotizacionJuridicaVehicularWs.sTimonCambiado;
            _objDet.sConvertidoGas = _CotizacionJuridicaVehicularWs.sConvertidoGas;
            _objDet.sRegistroLocal = _CotizacionJuridicaVehicularWs.sRegistroLocal;
            _objDet.TipoUso = new TipoUsoBe();
            _objDet.TipoUso.cTipoUso = _CotizacionJuridicaVehicularWs.cTipoUso;
            _objDet.ModeloPeriodo = new ModeloPeriodoBe();
            _objDet.ModeloPeriodo.cModeloPeriodo = _CotizacionJuridicaVehicularWs.cModeloPeriodo;
            _objDet.nValorComercial = _CotizacionJuridicaVehicularWs.nValorComercial;
            _objDet.LugarCobertura = new LugarCoberturaBe();
            _objDet.LugarCobertura.cLugar = _CotizacionJuridicaVehicularWs.cLugar;

            _msgReg = obj.registrarCotizacionVehicularPersonaJuridica(_objCab, _objDet);
            return _msgReg;
        }

        public List<AseguradoraWs> listarAseguradoras()
        {
            AseguradoraBl obj = new AseguradoraBl();
            List<AseguradoraBe> lst = new List<AseguradoraBe>();
            lst = obj.listar();
            var lQuery = from c in lst
                         select new AseguradoraWs
                         {
                             cAseguradora = c.cAseguradora,
                             dAseguradora = c.dAseguradora
                         };
            return lQuery.ToList();
        }

        public List<AdministrarComisionesWs> listarComisionesEmitidas(string _cGrupo)
        {
            AdministrarComisionBl obj = new AdministrarComisionBl();
            List<AdministrarComisionBe> lst = new List<AdministrarComisionBe>();
            lst = obj.listarComisionesEmitidas(_cGrupo);
            var lQuery = from c in lst
                         select new AdministrarComisionesWs
                         {
                             cPoliza = c.cPoliza,
                             dAseguradora = c.Aseguradora.dAseguradora,
                             fPagoPoliza = c.fPagoPoliza,
                             nImpPrima = c.nImpPrima,
                             PCT = c.PCT,
                             nImpComision = c.nImpComision
                         };
            return lQuery.ToList();
        }

        public List<AdministrarComisionesWs> listarComisionesNoEncontradas(string _cGrupo)
        {
            AdministrarComisionBl obj = new AdministrarComisionBl();
            List<AdministrarComisionBe> lst = new List<AdministrarComisionBe>();
            lst = obj.listarComisionesNoEncontradas(_cGrupo);
            var lQuery = from c in lst
                         select new AdministrarComisionesWs
                         {
                             cPoliza = c.cPoliza,
                             dAseguradora = c.Aseguradora.dAseguradora,
                             fPagoPoliza = c.fPagoPoliza,
                             nImpPrima = c.nImpPrima,
                             PCT = c.PCT,
                             nImpComision = c.nImpComision
                         };
            return lQuery.ToList();
        }

        public List<AdministrarDiferenciasWs> listarComisionesDiferentes(string _cGrupo)
        {
            AdministrarComisionBl obj = new AdministrarComisionBl();
            List<AdministrarComisionBe> lst = new List<AdministrarComisionBe>();
            lst = obj.listarComisionesDiferentes(_cGrupo);
            var lQuery = from c in lst
                         select new AdministrarDiferenciasWs
                         {
                             dNombre = c.Ejecutivo.dNombre,
                             cPoliza = c.cPoliza,
                             dAseguradora = c.Aseguradora.dAseguradora,
                             fPagoPoliza = c.fPagoPoliza,
                             nComision = c.nComision,
                             nImpComision = c.nImpComision,
                             nImpDiferencia = c.nImpDiferencia
                         };
            return lQuery.ToList();
        }

        public string cargarComisiones(string _cAseguradora, string _dArchivo)
        {
            string _msgReg = "";
            AdministrarComisionBl obj = new AdministrarComisionBl();
            _msgReg = obj.cargarComisiones(Convert.ToInt32(_cAseguradora), _dArchivo);
            return _msgReg;
        }

        public string enviarNotificacion(string _cPoliza)
        {
            try
            {
                AdministrarComisionBl obj = new AdministrarComisionBl();
                AdministrarComisionBe _be = new AdministrarComisionBe();
                _be = obj.seleccionarDatosPoliza(Convert.ToInt32(_cPoliza));

                CorreoWs Cr = new CorreoWs();
                MailMessage mnsj = new MailMessage();
                mnsj.Subject = "Comisión de póliza: " + _be.cPoliza;
                mnsj.From = new MailAddress(ConfigurationManager.AppSettings["CorreoWeb"], ConfigurationManager.AppSettings["NombreCorreo"]);
                mnsj.To.Add(new MailAddress(_be.Ejecutivo.dCorreo));
                mnsj.Bcc.Add(new MailAddress(ConfigurationManager.AppSettings["CorreoAdmin"]));
                mnsj.IsBodyHtml = true;
                string strHTML = "<Html>";
                strHTML = strHTML + "<Head><Title>Correo Web</Title></Head>";
                strHTML = strHTML + "<Body>";
                strHTML = strHTML + "<Table border='0'>";
                strHTML = strHTML + "<Tr>";
                strHTML = strHTML + "<Td colspan='7' align='left'><b>Graña Asociados</b> - <i>Corredores de Seguros</i></Td>";
                strHTML = strHTML + "</Tr>";
                strHTML = strHTML + "<Tr>";
                strHTML = strHTML + "<Td colspan='7' align='left'>&nbsp;</Td>";
                strHTML = strHTML + "</Tr>";
                strHTML = strHTML + "<Tr>";
                strHTML = strHTML + "<Td align='center'><b><u>Ejecutivo</u></b></Td>";
                strHTML = strHTML + "<Td align='center'><b><u>Nro. Póliza</u></b></Td>";
                strHTML = strHTML + "<Td align='center'><b><u>Aseguradora</u></b></Td>";
                strHTML = strHTML + "<Td align='center'><b><u>Fecha de Pago</u></b></Td>";
                strHTML = strHTML + "<Td align='center'><b><u>Comisión Calculada</u></b></Td>";
                strHTML = strHTML + "<Td align='center'><b><u>Comisión Real</u></b></Td>";
                strHTML = strHTML + "<Td align='center'><b><u>Diferencia</u></b></Td>";
                strHTML = strHTML + "</Tr>";
                strHTML = strHTML + "<Tr>";
                strHTML = strHTML + "<Td align='left'>" + _be.Ejecutivo.dNombre.ToString() + "</Td>";
                strHTML = strHTML + "<Td align='center'>" + _be.cPoliza.ToString() + "</Td>";
                strHTML = strHTML + "<Td align='left'>" + _be.Aseguradora.dAseguradora.ToString() + "</Td>";
                strHTML = strHTML + "<Td align='center'>" + _be.fPagoPoliza.ToString() + "</Td>";
                strHTML = strHTML + "<Td align='right'>" + _be.nComision.ToString("#,##0.00") + "</Td>";
                strHTML = strHTML + "<Td align='right'>" + _be.nImpComision.ToString("#,##0.00") + "</Td>";
                strHTML = strHTML + "<Td align='right'>" + _be.nImpDiferencia.ToString("#,##0.00") + "</Td>";
                strHTML = strHTML + "</Tr>";
                strHTML = strHTML + "</Table>";
                strHTML = strHTML + "</Body>";
                strHTML = strHTML + "</Html>";
                mnsj.Body = strHTML;

                Cr.MandarCorreo(mnsj);

                return "OK|" + _cPoliza;
            }
            catch (Exception ex)
            {
                return "NA|" + _cPoliza;
            }
        }

        public List<EvaluarSeguroWs> evaluarSeguro(string _titular, string _edad, string _coberInter)
        {
            EvaluarSeguroBl obj = new EvaluarSeguroBl();
            List<EvaluarSeguroBe> lst = new List<EvaluarSeguroBe>();
            lst = obj.listar(_titular, Convert.ToInt32(_edad), _coberInter);
            var lQuery = from c in lst
                         select new EvaluarSeguroWs
                         {
                             cMatriz = c.cMatriz,
                             nPrima = c.nPrima,
                             dAseguradora = c.dAseguradora,
                             dPlan = c.dPlan
                         };
            return lQuery.ToList();
        }


    }
}
